package cn.virens.database.enums;

import java.util.Objects;

import cn.virens.database.common.BaseEnum;

/**
 * 用户类型
 * 
 * @author virens
 */
public enum UserType implements BaseEnum<Integer> {
	/** 普通用户 */
	NORMAL(0, "普通用户"),
	/** 手机用户 */
	MOBILE(1, "手机用户"),
	/** 微信用户 */
	WEIXIN(2, "微信用户"),
	/** 微信小程序用户 */
	WEIXIN_1(3, "小程序用户"),
	/** 微信开放平台用户 */
	WEIXIN_2(4, "开放平台用户"),
	/** 码云登录 */
	GITEE(5, "码云用户");

	private final Integer key;
	private final String desc;

	private UserType(Integer key, String desc) {
		this.desc = desc;
		this.key = key;
	}

	@Override
	public boolean eq(Integer _int) {
		return Objects.equals(this.key, _int);
	}

	public static UserType parse(Integer _int) {
		for (UserType temp : values()) {
			if (temp.eq(_int)) { return temp; }
		}

		return null;
	}

	public String key() {
		return Integer.toString(key);
	}

	@Override
	public Integer getKey() {
		return key;
	}

	@Override
	public String getDesc() {
		return desc;
	}
}
